/*            Copyright(c) 2006-2008 Dave Sexton           *
 * http://www.codeplex.com/DocProject                      *
 * http://www.codeplex.com/DocProject/Project/License.aspx *
 ***********************************************************/
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;

namespace DaveSexton.DocProject
{
	public interface IProjectItem
	{
		#region Public Properties
		Uri Location { get; }

		Uri BaseLocation { get; }

		Uri RelativeLocation { get; }

		bool IsDirectory { get; }

		string BasePath { get; }

		string Path { get; }

		string RelativePath { get; }

		bool IsVisible { get; }

		bool IsExternal { get; }

		bool Exists { get; }

		bool IsReadOnly { get; set; }

		IProjectItem DependentUpon { get; set; }
		#endregion
		
		#region Methods
		IProjectItem MakeDependencyFor(string path);

		void Checkout();

		bool Hide();

		void Show();

		void Refresh();

		void Open();

		void Delete();
		#endregion
	}
}
